package com.controller;

import com.bean.dto.Dto;
import com.bean.entity.ProductLot;
import com.bean.vo.ProductLotVo;
import com.bean.vo.query.ProductLotQueryVo;
import com.service.ProductLotService;
import com.util.DtoUtil;
import com.util.PageUtil;
import com.util.SystemUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

/**
 * 批次存储信息业务控制
 */
@RestController
@RequestMapping("l")
public class ProductLotController {

    @Autowired
    ProductLotService productLotService;

    /** 查询批次仓储信息 */
    @RequestMapping("query")
    public Dto queryGoods(ProductLotQueryVo productLotQueryVo, PageUtil<ProductLotVo> pa){
        SystemUtil.functionTitle("查询批次仓储信息");

        /* 打印参数 */
        System.out.println(productLotQueryVo);

        /* 查询数据 */
        try {
            pa = productLotService.queryLot(productLotQueryVo,pa);
        } catch (Exception e) {
//            e.printStackTrace();
            System.out.println(e.getMessage());
            return DtoUtil.returnFail(e.getMessage());
        }

        return DtoUtil.returnSuccess(pa);
    }

    /** 删除批次仓储信息 */
    @RequestMapping("remove")
    public Dto removeGoods(ProductLot productLot){
        SystemUtil.functionTitle("删除批次仓储信息");
        /* 打印参数 */
        System.out.println(productLot);

        /* 删除信息 */
        try {
            productLotService.removeLot(productLot);
        } catch (Exception e) {
//            e.printStackTrace();
            System.out.println(e.getMessage());
            return DtoUtil.returnFail(e.getMessage());
        }

        return DtoUtil.returnSuccess("删除成功！");
    }

    /** 修改批次仓储信息 */
    @RequestMapping("modify")
    public Dto modifyGoods(ProductLot productLot){
        SystemUtil.functionTitle("修改批次仓储信息");
        /* 打印参数 */
        System.out.println(productLot);

        /* 修改信息 */
        try {
            productLotService.modifyLot(productLot);
        } catch (Exception e) {
//            e.printStackTrace();
            System.out.println(e.getMessage());
            return DtoUtil.returnFail(e.getMessage());
        }

        return DtoUtil.returnSuccess("修改成功！");
    }

    /** 添加批次仓储信息 */
    @RequestMapping("add")
    public Dto addGoods(ProductLot productLot){
        SystemUtil.functionTitle("添加批次仓储信息");
        /* 打印参数 */
        System.out.println(productLot);

        /* 修改信息 */
        try {
            productLotService.addLot(productLot);
        } catch (Exception e) {
//            e.printStackTrace();
            System.out.println(e.getMessage());
            return DtoUtil.returnFail(e.getMessage());
        }

        return DtoUtil.returnSuccess("添加成功！");
    }



}
